10 research outputs found

    SAsSy ā€“ Scrutable Autonomous Systems

    Get PDF
    Abstract. An autonomous system consists of physical or virtual systems that can perform tasks without continuous human guidance. Autonomous systems are becoming increasingly ubiquitous, ranging from unmanned vehicles, to robotic surgery devices, to virtual agents which collate and process information on the internet. Existing autonomous systems are opaque, limiting their usefulness in many situations. In order to realise their promise, techniques for making such autonomous systems scrutable are therefore required. We believe that the creation of such scrutable autonomous systems rests on four foundations, namely an appropriate planning representation; the use of a human understandable reasoning mechanism, such as argumentation theory; appropriate natural language generation tools to translate logical statements into natural ones; and information presentation techniques to enable the user to cope with the deluge of information that autonomous systems can provide. Each of these foundations has its own unique challenges, as does the integration of all of these into a single system.

    A method for extracting Prolog programming techniques

    No full text
    Abstract We present a method of extracting the programming techniques employed in Prolog programs. Our method records the manner each subgoal has been used and employs this, together with its syntax and other auxiliary information, to partition the program into single-argument procedures possibly sharing variables. A technique is formally characterised as a sequence of such single-argument procedures

    A Method of Extracting Prolog Programming Techniques

    No full text
    We present a method of extracting the programming techniques employed in Prolog programs. Techniques are dynamic entities consisting of the syntax of the program and how it is used. The method records how subgoals are employed and uses this, together with their syntax and other auxiliary information, to partition the program into single-argument procedures possibly sharing variables. A technique is formally characterised as a sequence of such single-argument procedures. 1 Introduction The compactness of Prolog programs allows the easy detection of commonly occurring patterns in the code. These patterns are loosely named techniques [Bow92, Brn91, BBD + 91]. Prolog programming techniques are not directly expressed through specific syntactic primitives (e.g. "while" and "do-until" loops), but by the sophisticated use of the comparatively simple syntax of Prolog. In this report we describe an automated approach to extract the programming techniques of a given working Prolog program. A P..

    Formalising the Knowledge of a Prolog Techniques Editor

    No full text
    A Prolog Techniques Editor (PTE) [7, 9] is a knowledge-based software development tool which provides its users with simple Prolog programs depicting common flows of control and ways to enhance them into more elaborate and useful code. However, the expert Prolog programmers who provide these components are offered no methodology or notation to help them formalise, test, compare and organise their programming knowledge in order to be supplied to the PTE. In this paper we propose the use of a repertoire of commands [4] and their combination in ordered sequences as a way to formalise the PTE's programming practices. 1 Introduction Tools have been proposed [1] to help programmers in the task of writing/debugging/analysing Prolog programs. Knowledge-based software development tools offer the advice of an expert programmer to their users, giving them the opportunity to devise their own programs in a quicker and more reliable way. One of these knowledge-based software tools is the Prolog Tec..
    corecore